home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 8.2 KB | 290 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: SLPictur.cpp
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #include "FWOS.hpp"
-
- #ifndef SLPICTUR_H
- #include "SLPictur.h"
- #endif
-
- #ifndef PRPICTUR_H
- #include "PRPictur.h"
- #endif
-
- #ifndef FWODEXCE_H
- #include "FWODExce.h"
- #endif
-
- #ifndef FWSTRMRW_H
- #include "FWStrmRW.h"
- #endif
-
- //========================================================================================
- // Picture
- //========================================================================================
-
- #ifdef FW_BUILD_MAC
- #pragma segment FWGraphics_Picture
- #endif
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_CreateFromResource
- //----------------------------------------------------------------------------------------
-
- FW_HPicture SL_API FW_PrivPicture_CreateFromResource(FW_OResourceFile* resourceFile,
- FW_ResourceID resID,
- FW_PlatformError* error)
- {
- FW_ERR_TRY
- {
- return FW_NEW(FW_CPrivPictureRep, (resourceFile, resID));
- }
- FW_ERR_CATCH
- return 0;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_CreateFromPlatformPict
- //----------------------------------------------------------------------------------------
-
- FW_HPicture SL_API FW_PrivPicture_CreateFromPlatformPict(FW_PlatformPict platformPict,
- FW_PlatformError* error)
- {
- FW_ASSERT(platformPict);
-
- FW_ERR_TRY
- {
- return FW_NEW(FW_CPrivPictureRep, (platformPict));
- }
- FW_ERR_CATCH
- return 0;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_Copy
- //----------------------------------------------------------------------------------------
-
- FW_HPicture SL_API FW_PrivPicture_Copy(FW_HPicture picture, FW_PlatformError* error)
- {
- FW_ASSERT(picture);
-
- FW_ERR_TRY
- {
- return FW_NEW(FW_CPrivPictureRep, (*picture));
- }
- FW_ERR_CATCH
- return 0;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_Acquire
- //----------------------------------------------------------------------------------------
-
- void SL_API FW_PrivPicture_Acquire(FW_HPicture picture)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- picture->Acquire();
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_GetRefCount
- //----------------------------------------------------------------------------------------
-
- long SL_API FW_PrivPicture_GetRefCount(FW_HPicture picture)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- return picture->GetRefCount();
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_Release
- //----------------------------------------------------------------------------------------
-
- void SL_API FW_PrivPicture_Release(FW_HPicture picture)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- picture->Release();
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_IsEqual
- //----------------------------------------------------------------------------------------
-
- FW_Boolean SL_API FW_PrivPicture_IsEqual(FW_HPicture picture, FW_HPicture picture2)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- return picture->IsEqual(*picture2);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_GetPictBounds
- //----------------------------------------------------------------------------------------
-
- void SL_API FW_PrivPicture_GetPictBounds(FW_HPicture picture,
- FW_SRect& bounds)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- picture->GetPictBounds(bounds);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_GetPictBoundsGC
- //----------------------------------------------------------------------------------------
-
- void SL_API FW_PrivPicture_GetPictBoundsGC(Environment* ev,
- FW_HPicture picture,
- FW_SGraphicContext& gc,
- FW_SRect& bounds)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- picture->GetPictBoundsGC(ev, gc, bounds);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_GetPlatformPict
- //----------------------------------------------------------------------------------------
-
- FW_PlatformPict SL_API FW_PrivPicture_GetPlatformPict(FW_HPicture picture)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- return picture->GetPlatformPict();
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_IsPlatformPictOrphan
- //----------------------------------------------------------------------------------------
-
- FW_Boolean SL_API FW_PrivPicture_IsPlatformPictOrphan(FW_HPicture picture)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- return picture->IsPlatformPictOrphan();
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_OrphanPlatformPict
- //----------------------------------------------------------------------------------------
-
- FW_PlatformPict SL_API FW_PrivPicture_OrphanPlatformPict(FW_HPicture picture)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- return picture->OrphanPlatformPict();
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_SetPlatformPict
- //----------------------------------------------------------------------------------------
-
- FW_PlatformError SL_API FW_PrivPicture_SetPlatformPict(FW_HPicture picture, FW_PlatformPict newPict)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- picture->SetPlatformPict(newPict);
- return FW_xNoError;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_AdoptPlatformPict
- //----------------------------------------------------------------------------------------
-
- FW_PlatformError SL_API FW_PrivPicture_AdoptPlatformPict(FW_HPicture picture, FW_PlatformPict newPict)
- {
- FW_ASSERT(picture);
-
- // No try block necessary - Do not throw
- picture->AdoptPlatformPict(newPict);
- return FW_xNoError;
- }
-
- #ifdef FW_BUILD_MAC
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_MacLock
- //----------------------------------------------------------------------------------------
-
- FW_PlatformError SL_API FW_PrivPicture_MacLock(FW_HPicture picture)
- {
- FW_ASSERT(picture);
-
- FW_RETURN_ERR_TRY
- {
- picture->MacLock();
- }
- FW_RETURN_ERR_CATCH
- }
- #endif
-
- #ifdef FW_BUILD_MAC
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_MacUnlock
- //----------------------------------------------------------------------------------------
-
- FW_PlatformError SL_API FW_PrivPicture_MacUnlock(FW_HPicture picture)
- {
- FW_ASSERT(picture);
-
- FW_RETURN_ERR_TRY
- {
- picture->MacUnlock();
- }
- FW_RETURN_ERR_CATCH
- }
- #endif
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_Read
- //----------------------------------------------------------------------------------------
-
- FW_HPicture SL_API FW_PrivPicture_Read(FW_HReadableStream hStream, FW_PlatformError* error)
- {
- FW_ERR_TRY
- {
- FW_CReadableStream stream(hStream);
- return FW_NEW(FW_CPrivPictureRep, (stream));
- }
- FW_ERR_CATCH
- return 0;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivPicture_Write
- //----------------------------------------------------------------------------------------
-
- void SL_API FW_PrivPicture_Write(FW_HPicture picture,
- FW_HWritableStream hStream,
- FW_PlatformError* error)
- {
- FW_ASSERT(picture);
-
- FW_ERR_TRY
- {
- FW_CWritableStream stream(hStream);
- picture->Write(stream);
- }
- FW_ERR_CATCH
- }
-
-